package service.impl;

import entity.Product;
import service.IShoppingcarService;

import java.util.Map;

public class ShoppingcarServiceImpl implements IShoppingcarService {
    @Override
    public void countUp(Map<Product, Integer> car, Product p, int count) {
        Integer oldCount = car.get(p);//根据指定商品，从购物车中查找对应的原数量

        if (oldCount != null) {//如果原数量存在
            Integer newCount = oldCount + count;//把原数量加上指定数量，作为新数量
            car.put(p, newCount);//更新为原指定商品的数量（更新原来的键对应的值）
        } else {
            car.put(p, count);//把指定商品和指定数量作为新的键值对，添加到购物车中
        }
    }

    @Override
    public void countDown(Map<Product, Integer> car, Product p, int count) {
        //TODO 从购物车中减少商品数量
        Integer oldCount = car.get(p);//根据指定商品，从购物车中查找对应的原数量

        if (oldCount != null) {//如果原数量存在
            Integer newCount = oldCount - count;//把原数量加上指定数量，作为新数量
            car.put(p, newCount);//更新为原指定商品的数量（更新原来的键对应的值）
        } else {
            car.put(p, count);//把指定商品和指定数量作为新的键值对，添加到购物车中
        }
    }
    //删除商品

    @Override
    public void removeProuct(Map<Product, Integer> car, Product p, int count) {
        car.remove(p.getId());
    }
}
